﻿using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Text;

namespace IComparableTest
{
    public class Number : IComparable<Number>
    {
        public string Name { get; set; }//定义属性Name
        public int Numb { get; set; }//定义属性Numb

        public override string ToString() => $"姓名：{Name},数字：{Numb}";//返回字符串形式的结果

        #region 接口代码
        public int CompareTo(Number other)
        {
            if (other == null) throw new ArgumentNullException("other");//如果获得的数据为空，提示错误
            int result = Numb.CompareTo(other.Numb);//定义一个result ，并且将获得的数字和当前的数字相比较排序
            if (result == 0)//如果获得的数字为0，或者数字都为一样
            {
                result = Name.CompareTo(other.Name);//将以名字排序
            }
            return result;//返回当前结果
        }
        #endregion
    }
}
